Let's Encrypt是由互联网安全研究小组英语Internet Security Research Group(ISRG)运营的非营利性证书颁发机构,免费提供传输层安全性协议(TLS)加密的X.509证书。它是世界上最大的证书颁发机构,[3]超过3亿个网站使用其服务,[4]其目标是确保所有网站的安全并使用HTTPS。提供该服务的互联网安全研究小组英语Internet Security Research Group(ISRG)是一个公益组织,[5]主要赞助商包括电子前哨基金会(EFF)、Mozilla基金会OVH思科系统FacebookGoogle Chrome, 互联网协会AWSNginx比尔及梅琳达·盖茨基金会[6]其他合作伙伴包括证书颁发机构IdenTrust英语IdenTrust[7]密歇根大学[8]以及Linux基金会[9]

Quick Facts 成立时间, 创始人 ...
Let's Encrypt
Thumb
成立时间2016年4月12日,​8年前​(2016-04-12
创始人
总部 美国加利福尼亚州旧金山
坐标37.800322°N 122.449951°W / 37.800322; -122.449951
服务X.509数码证书认证机构
上级组织
互联网安全研究小组英语Internet Security Research Group(ISRG)
预算(2019)
360万美元[1]
员工数
(2023)
27[2]
网站letsencrypt.org 编辑维基数据链接
Close

概述

Thumb
使用Let's Encrypt证书的网站示例
Thumb
Let's Encrypt证书示例

Let's Encrypt的使命是通过推动HTTPS的广泛应用,创建一个更加安全和尊重隐私的万维网[10]Let's Encrypt的证书有效期为90天,在此期间可以随时更新。[11]该项目采用自动化流程,旨在克服手动创建、验证、数码签名、安装和续期等繁琐步骤。[12][13]该项目的目标是让万维网的加密连接普及化。[14]通过省去支付费用、伺服器配置、验证电邮管理和证书更新等任务,大大降低了设置和维护TLS加密的复杂性。[15]

Linux网络伺服器上,只需执行两个命令即可设置HTTPS加密并获取和安装证书。[16][17] 相关软件包已纳入Debian以及Ubuntu的官方软件存储库[18][19]目前,Mozilla和Google等主要浏览器开发商正在努力淘汰未加密的HTTP,这得益于Let's Encrypt的广泛使用。[20][21]该项目有望使加密连接成为整个互联网的默认状态。[22]

该服务仅颁发域名验证型证书(DV),因为这些证书可以完全自动化签发。组织验证(OV)以及和扩展验证证书(EV)都需要对注册人的人工验证,因此Let's Encrypt不提供这两种证书。[23]2018年3月,Let's Encrypt增加了对ACME v2万用字元证书的支持。[24]Let's Encrypt使用的域名验证型证书(DV),虽然GeoTrust英语GeoTrust于2002年首次引入时曾引起争议,但如今已成为广泛接受的SSL证书颁发方法。[25]

Let's Encrypt希望通过尽可能透明的方式,既保护自身的可信度,又防范攻击和操纵企图。为此,定期发布透明度报告,[26],公开记录所有ACME记录(如使用证书透明度),并尽可能使用开源自由软件[16]

历史

Let's Encrypt项目于2012年由两位Mozilla的员工Josh Aas和Eric Rescorla,以及电子前哨基金会彼得·埃克斯利密歇根大学J. Alex Halderman英语J. Alex Halderman共同发起。负责Let's Encrypt的互联网安全研究小组英语Internet Security Research Group(ISRG),于2013年5月注册成立。[8]

Let's Encrypt项目于2014年11月18日正式对外宣布。[27]

2015年1月28日,ACME协议正式提交给IETF进行标准化。[28]2015年4月9日,ISRG和Linux基金会宣布合作。[9]根证书和中级证书在2015年6月初生成。[29] 2015年6月16日,服务的最终启动时间表公布,预计将于2015年7月27日那一周颁发第一个证书,随后进行有限的发证期以测试安全性和可扩展性。原计划服务的全面可用性将于2015年9月14日那一周开始。[30]2015年8月7日,启动时间表被修订,以提供更多时间确保系统安全和稳定,计划于2015年9月7日那一周颁发第一个证书,并在2015年11月16日那一周全面开放服务。[31]

2015年9月14日,Let's Encrypt颁发了其首个证书,域名为helloworld.letsencrypt.org。同日,ISRG向Mozilla微软Google以及苹果公司提交了根证书计划申请。[32]

2015年10月19日,中级证书由IdenTrust英语IdenTrust交叉签署,使得Let's Encrypt颁发的所有证书都被所有主流浏览器信任。[7]

2015年11月12日,Let's Encrypt宣布将全面开放服务的时间推迟,首次公开测试版将于2015年12月3日开始。[33] 公开测试版从2015年12月3日持续到[34]2016年4月12日[35],并于2016年4月12日正式上线。[36][37][5]

2020年3月3日,Let's Encrypt宣布由于其证书授权软件中的一个漏洞,必须在3月4日撤销超过300万个证书。[38]通过与软件供应商合作并联络网站运营商,Let's Encrypt在截止日期前成功更新了170万个受影响的证书。由于剩余证书的安全风险较低且将在接下来的90天内过期,他们决定不撤销这些证书。[39]这次大规模撤销事件显著提高了全球撤销率。[40]

2020年3月,Let's Encrypt获得了自由软件基金会年度社会公益项目奖。[41]

2020年2月27日,Let's Encrypt宣布已颁发了十亿个证书。[42]

2022年4月,Let's Encrypt因“对证书生态系统的根本性改进,为所有人提供免费的证书”而获得Levchin Prize英语Levchin Prize[43]

截至2022年9月,Let's Encrypt报告称已颁发了2.34亿个有效(未过期)证书。[4]

技术

信任链

ISRG Root X1 (RSA)

2015年6月,Let's Encrypt宣布生成首张RSA加密算法根证书“ISRG Root X1”。[44]该根证书用于签署两个中间证书,[44]同时这些中间证书也由证书颁发机构IdenTrust英语IdenTrust交叉签名。[7][45]其中一个中间证书用于签发证书,而另一个作为备用,以防第一个中间证书出现问题。[44]由于IdenTrust英语IdenTrust证书已经得到主要网络浏览器的广泛信任,因此即使在浏览器供应商将互联网安全研究小组英语Internet Security Research Group(ISRG)根证书作为信任锚英语trust anchor之前,Let's Encrypt的证书通常也能得到验证和接受。[29]

ISRG Root X2 (ECDSA)

Let's Encrypt的开发者早在2015年就计划生成一个ECDSA根密钥[44],但计划推迟到2016年初,随后推迟到2019年,最终推迟到2020年。2020年9月3日,Let's Encrypt发布了六个新证书:一个新的ECDSA根证书“ISRG Root X2”,四个中间证书和一个交叉签名。新的根证书“ISRG Root X2”由Let's Encrypt自己的根证书ISRG Root X1交叉签名。Let's Encrypt没有为新的中间证书部署OCSP,而是计划完全依赖证书吊销列表 (CRLs)来撤销受损证书,并通过缩短证书有效期来减少证书受损的风险。[46]

ACME协议

用于自动注册证书颁发机构的挑战应答认证机制英语challenge–response authentication称为“自动证书更新环境(ACME)”。它可以查询由证书涵盖的域控制的Web伺服器或DNS伺服器,并根据得到的响应是否符合预期,以确保注册者对域的控制(域验证)。ACME客户端软件可以设置一个专用的TLS伺服器,由ACME证书颁发机构伺服器通过伺服器名称指示(SNI)的方式进行域验证(DVSNI),或者可以使用钩子向现有的Web和DNS伺服器发布响应。

验证过程通过不同的网络路径进行多次运行,并在多个不同的地理位置上进行检查DNS条目,从而使DNS欺骗攻击更难实施。

ACME交互基于通过HTTPS连接交换JSON文档。[47]GitHub上有一份规范草案,[48]并已提交给互联网工程任务组(IETF)作为互联网标准的草案[49]

Let's Encrypt实现了自己的ACME协议草案。与此同时,他们还推动标准化。这一努力促成了2019年5月发布的“提案标准(proposed standard)”(RFC8555),该标准引入了重大变革,因此被称为“ACMEv2”。Let's Encrypt 实现了这一新版本,并开始推动现有客户端进行升级。通过ACMEv1 API的的间歇性停机,Let's Encrypt 推动用户进行升级,并在“ACMEv1 生命周期结束计划”中公布了生命周期结束的日期和各个阶段。[50]自2019年11月8日起,ACMEv1不再接受新账户注册。自2020年6月起,ACMEv1停止接受新域名验证。从2021年1月起,ACMEv1经历了24小时的停机。最终,ACMEv1 API于2021年6月1日完全关闭。[51]

软件部署

Thumb
域名选择对话框

证书颁发机构由一个名为Boulder的软件组成,该软件用Go编写,实现了ACME协议的伺服器端。该软件根据Mozilla公共许可证 (MPL)第2版的条款,以自由软件的形式发布原始码[52]。它提供了一个可以通过TLS加密通道访问RESTfulAPI

客户端会安装一个名为“certbot”(前身为“letsencrypt”)的证书管理程序,该程序根据Apache许可证授权[53],并由Python编写。这个程序用于申请证书,进行域名验证过程,安装证书,配置HTTP伺服器中的HTTPS加密,并定期更新证书。[16][54] 安装并同意用户许可证后,只需执行一条命令即可安装有效证书。除此之外,还可以启用其他选项,如OCSP装订HTTP严格传输安全(HSTS)。[47]自动设置最初只适用于Apache以及Nginx

Let's Encrypt签发的证书有效期为90天,理由是这样做会“限制密钥泄露和错误签发造成的损失”,并鼓励自动化。[55]

最初,Let's Encrypt开发了自己官方的ACME客户端“Certbot”。现在已移交给电子前哨基金会,其名称从“letsencrypt”更改为“certbot”。社区开发了大量适用于多种环境的ACME客户端和项目。[56]

中国大陆屏蔽

2020年4月2日,防火长城对Let's Encrypt的OCSP伺服器(ocsp.int-x3.letsencrypt.org)所使用的Akamai CDN域名a771.dscq.akamai.net进行了DNS污染,导致部分浏览器首次访问使用Let's Encrypt证书的网站时无法完成OCSP检查,加载缓慢。[57]

2020年11月20日,Let's Encrypt 推出了 R3 中间证书,使用了新的 OCSP 伺服器地址(r3.o.lencr.org),问题得到解决[58]

更多

延伸阅读

  • Barnes, R.; Hoffman-Andrews, J.; McCarney, D.; Kasten, J.. Automatic Certificate Management Environment (ACME) RFC 8555. IETF. March 2019.

参考资料

外部链接

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.